gtkmodelmenuitem: don't crash on missing action
authorRyan Lortie <desrt@desrt.ca>
Tue, 20 Dec 2011 15:44:50 +0000 (10:44 -0500)
committerRyan Lortie <desrt@desrt.ca>
Tue, 20 Dec 2011 15:51:58 +0000 (10:51 -0500)
gtk/gtkmodelmenuitem.c

index ed49dafda458c68095055521186cb651bb16dccc..eb7b8f3596c893bc41998a7c60e35cf7c0edb9a6 100644 (file)
@@ -238,14 +238,15 @@ gtk_model_menu_item_setup (GtkModelMenuItem  *item,
       g_action_observable_register_observer (actions, item->action_name, G_ACTION_OBSERVER (item));
 
       if (g_action_group_query_action (G_ACTION_GROUP (actions), item->action_name, &enabled, &type, NULL, NULL, &state))
-        gtk_model_menu_item_action_added (G_ACTION_OBSERVER (item), actions, item->action_name, type, enabled, state);
+        {
+          gtk_model_menu_item_action_added (G_ACTION_OBSERVER (item), actions, item->action_name, type, enabled, state);
+          if (state != NULL)
+            g_variant_unref (state);
+        }
 
       else
         gtk_widget_set_sensitive (GTK_WIDGET (item), FALSE);
 
-      if (state != NULL)
-        g_variant_unref (state);
-
       path = _gtk_accel_path_for_action (item->action_name, item->target);
       gtk_menu_item_set_accel_path (GTK_MENU_ITEM (item), path);
       g_free (path);